#include "gpio.h"
#include "timer.h"
#include "usart.h"
 

//初始化PB5和PE5为输出口.并使能这两个口的时钟
//LED IO初始化
void IO_Init(void)
{

    GPIO_InitTypeDef  GPIO_InitStructure;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO, ENABLE);	 //使能PB,PA端口时钟
	 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA| RCC_APB2Periph_AFIO, ENABLE);
	// RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
		GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);

		  
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		  
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;	
	
	//PWRLED  OUT
	  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;		
    GPIO_Init(GPIOB, &GPIO_InitStructure);					 

	//CONLED OUT
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;				  
    GPIO_Init(GPIOB, &GPIO_InitStructure);					  

	//NETLED OUT
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;				  
    GPIO_Init(GPIOB, &GPIO_InitStructure);
		
			//RELAY
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;			
    //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;	//复用推挽输出	  
    GPIO_Init(GPIOB, &GPIO_InitStructure);
					
			//RELAY1
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;			
    //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;	//复用推挽输出	  
    GPIO_Init(GPIOA, &GPIO_InitStructure);
		
//LM2675 SWITCH
	  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;				  
    GPIO_Init(GPIOB, &GPIO_InitStructure);
		
		
	  GPIO_ResetBits(GPIOB,GPIO_Pin_13);						 //PB.5 输出高
    GPIO_ResetBits(GPIOB,GPIO_Pin_14);						 //PB.5 输出高
    GPIO_ResetBits(GPIOB,GPIO_Pin_15);						//PB.5 输出高
		GPIO_ResetBits(GPIOA,GPIO_Pin_15);		
		GPIO_ResetBits(GPIOB,GPIO_Pin_3);	
	  GPIO_ResetBits(GPIOB,GPIO_Pin_0);

	//SIM900 POWER OUT
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;				  
    GPIO_Init(GPIOB, &GPIO_InitStructure);			
		

	//SIM900 STATUS IN
	  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;				  
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//GPIO_Mode_IN_FLOATING; 	
    GPIO_Init(GPIOB, &GPIO_InitStructure);	 

    //PC9 sim900 NETLIGHT IN

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
    GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IPU;//GPIO_Mode_IN_FLOATING; 	
    GPIO_Init(GPIOB, &GPIO_InitStructure);

   



}

//  /*************************************************
// 函数名称: LM2576OFFON
// 功    能: 关闭sim900的外部电源3秒后再打开
// 参    数: 无
// 返 回 值: 无
// *************************************************/
// void LM2576OFFON()
// {
//     printf("switch off LM2576\r\n");
//     LM2576 = 1;
//     DelayHalfSecond(6);

//     printf("switch on LM2576\r\n");
//     LM2576 = 0;
//     DelayHalfSecond(2);
// }
